
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>search</title>
</head>
<body>

<script>
    var doNotTrack = false;
    if (!doNotTrack) {
        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
        ga('create', 'UA-158679036-5', 'auto');
        ga('send', 'pageview');
    }
    var pno_to_url = {"141": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "142": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "160": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "19": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "21": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "23": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "86": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "876": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指Offer22": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指Offer25": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指Offer52": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指OfferII021": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指OfferII022": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指OfferII023": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "剑指OfferII078": "https://labuladong.online/algo/essential-technique/linked-list-skills-summary/", "167": "https://labuladong.online/algo/practice-in-action/nsum/", "26": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "27": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "283": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "344": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "5": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "83": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "剑指Offer57": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "剑指OfferII006": "https://labuladong.online/algo/essential-technique/array-two-pointers-summary/", "104": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "144": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "543": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "剑指Offer55-I": "https://labuladong.online/algo/essential-technique/binary-tree-summary/", "322": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "509": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "剑指OfferII103": "https://labuladong.online/algo/essential-technique/dynamic-programming-framework/", "46": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "51": "https://labuladong.online/algo/essential-technique/backtrack-framework/", "52": "https://labuladong.online/algo/essential-technique/backtrack-framework/", "剑指OfferII083": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "216": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "39": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "40": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "47": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "77": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "78": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "90": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "剑指OfferII079": "https://labuladong.online/algo/practice-in-action/two-views-of-backtrack/", "剑指OfferII080": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "剑指OfferII081": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "剑指OfferII082": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "剑指OfferII084": "https://labuladong.online/algo/essential-technique/permutation-combination-subset-all-in-one/", "111": "https://labuladong.online/algo/essential-technique/bfs-framework/", "752": "https://labuladong.online/algo/essential-technique/bfs-framework/", "剑指OfferII109": "https://labuladong.online/algo/essential-technique/bfs-framework/", "34": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "704": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "剑指Offer53-I": "https://labuladong.online/algo/essential-technique/binary-search-framework/", "3": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "438": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "567": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "76": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "剑指Offer48": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "剑指OfferII014": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "剑指OfferII015": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "剑指OfferII016": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "剑指OfferII017": "https://labuladong.online/algo/essential-technique/sliding-window-framework/", "206": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "92": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "剑指Offer24": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "剑指OfferII024": "https://labuladong.online/algo/data-structure/reverse-linked-list-recursion/", "25": "https://labuladong.online/algo/data-structure/reverse-nodes-in-k-group/", "234": "https://labuladong.online/algo/data-structure/palindrome-linked-list/", "剑指OfferII027": "https://labuladong.online/algo/data-structure/palindrome-linked-list/", "1": "https://labuladong.online/algo/practice-in-action/nsum/", "15": "https://labuladong.online/algo/practice-in-action/nsum/", "18": "https://labuladong.online/algo/practice-in-action/nsum/", "剑指OfferII007": "https://labuladong.online/algo/practice-in-action/nsum/", "303": "https://labuladong.online/algo/data-structure/prefix-sum/", "304": "https://labuladong.online/algo/data-structure/prefix-sum/", "剑指OfferII013": "https://labuladong.online/algo/data-structure/prefix-sum/", "1094": "https://labuladong.online/algo/data-structure/diff-array/", "1109": "https://labuladong.online/algo/data-structure/diff-array/", "370": "https://labuladong.online/algo/data-structure/diff-array/", "151": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "48": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "54": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "59": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "61": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "剑指Offer29": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "剑指Offer58-I": "https://labuladong.online/algo/practice-in-action/2d-array-traversal-summary/", "187": "https://labuladong.online/algo/practice-in-action/rabinkarp/", "28": "https://labuladong.online/algo/other-skills/kmp/", "1011": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "410": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "875": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "剑指OfferII073": "https://labuladong.online/algo/frequency-interview/binary-search-in-action/", "528": "https://labuladong.online/algo/frequency-interview/random-pick-with-weight/", "剑指OfferII071": "https://labuladong.online/algo/frequency-interview/random-pick-with-weight/", "870": "https://labuladong.online/algo/practice-in-action/advantage-shuffle/", "380": "https://labuladong.online/algo/data-structure/random-set/", "710": "https://labuladong.online/algo/data-structure/random-set/", "剑指OfferII030": "https://labuladong.online/algo/data-structure/random-set/", "1081": "https://labuladong.online/algo/frequency-interview/remove-duplicate-letters/", "316": "https://labuladong.online/algo/frequency-interview/remove-duplicate-letters/", "114": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "116": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "226": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "剑指Offer27": "https://labuladong.online/algo/data-structure/binary-tree-part1/", "105": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "106": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "654": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "889": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "剑指Offer07": "https://labuladong.online/algo/data-structure/binary-tree-part2/", "652": "https://labuladong.online/algo/data-structure/binary-tree-part3/", "297": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "剑指Offer37": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "剑指OfferII048": "https://labuladong.online/algo/data-structure/serialize-and-deserialize-binary-tree/", "315": "https://labuladong.online/algo/practice-in-action/merge-sort/", "327": "https://labuladong.online/algo/practice-in-action/merge-sort/", "493": "https://labuladong.online/algo/practice-in-action/merge-sort/", "912": "https://labuladong.online/algo/practice-in-action/quick-sort/", "1038": "https://labuladong.online/algo/data-structure/bst-part1/", "230": "https://labuladong.online/algo/data-structure/bst-part1/", "538": "https://labuladong.online/algo/data-structure/bst-part1/", "剑指OfferII054": "https://labuladong.online/algo/data-structure/bst-part1/", "450": "https://labuladong.online/algo/data-structure/bst-part2/", "700": "https://labuladong.online/algo/data-structure/bst-part2/", "701": "https://labuladong.online/algo/data-structure/bst-part2/", "98": "https://labuladong.online/algo/data-structure/bst-part2/", "95": "https://labuladong.online/algo/data-structure/bst-part3/", "96": "https://labuladong.online/algo/data-structure/bst-part3/", "215": "https://labuladong.online/algo/practice-in-action/quick-sort/", "剑指OfferII076": "https://labuladong.online/algo/practice-in-action/quick-sort/", "341": "https://labuladong.online/algo/data-structure/flatten-nested-list-iterator/", "1644": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "1650": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "1676": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "235": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "236": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "剑指Offer68-I": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "剑指Offer68-II": "https://labuladong.online/algo/practice-in-action/lowest-common-ancestor-summary/", "222": "https://labuladong.online/algo/data-structure/count-complete-tree-nodes/", "225": "https://labuladong.online/algo/data-structure/stack-queue/", "232": "https://labuladong.online/algo/data-structure/stack-queue/", "剑指Offer09": "https://labuladong.online/algo/data-structure/stack-queue/", "496": "https://labuladong.online/algo/data-structure/monotonic-stack/", "503": "https://labuladong.online/algo/data-structure/monotonic-stack/", "739": "https://labuladong.online/algo/data-structure/monotonic-stack/", "剑指OfferII038": "https://labuladong.online/algo/data-structure/monotonic-stack/", "239": "https://labuladong.online/algo/data-structure/monotonic-queue/", "剑指Offer59-I": "https://labuladong.online/algo/data-structure/monotonic-queue/", "剑指Offer59-II": "https://labuladong.online/algo/data-structure/monotonic-queue/", "146": "https://labuladong.online/algo/data-structure/lru-cache/", "剑指OfferII031": "https://labuladong.online/algo/data-structure/lru-cache/", "460": "https://labuladong.online/algo/frequency-interview/lfu/", "1804": "https://labuladong.online/algo/data-structure/trie/", "208": "https://labuladong.online/algo/data-structure/trie/", "211": "https://labuladong.online/algo/data-structure/trie/", "648": "https://labuladong.online/algo/data-structure/trie/", "677": "https://labuladong.online/algo/data-structure/trie/", "剑指OfferII062": "https://labuladong.online/algo/data-structure/trie/", "剑指OfferII063": "https://labuladong.online/algo/data-structure/trie/", "剑指OfferII066": "https://labuladong.online/algo/data-structure/trie/", "295": "https://labuladong.online/algo/practice-in-action/find-median-from-data-stream/", "剑指Offer41": "https://labuladong.online/algo/practice-in-action/find-median-from-data-stream/", "355": "https://labuladong.online/algo/data-structure/design-twitter/", "797": "https://labuladong.online/algo/data-structure/graph-traverse/", "剑指OfferII110": "https://labuladong.online/algo/data-structure/graph-traverse/", "277": "https://labuladong.online/algo/frequency-interview/find-celebrity/", "207": "https://labuladong.online/algo/data-structure/topological-sort/", "210": "https://labuladong.online/algo/data-structure/topological-sort/", "剑指OfferII113": "https://labuladong.online/algo/data-structure/topological-sort/", "785": "https://labuladong.online/algo/data-structure/bipartite-graph/", "886": "https://labuladong.online/algo/data-structure/bipartite-graph/", "剑指OfferII106": "https://labuladong.online/algo/data-structure/bipartite-graph/", "130": "https://labuladong.online/algo/data-structure/union-find/", "323": "https://labuladong.online/algo/data-structure/union-find/", "990": "https://labuladong.online/algo/data-structure/union-find/", "1135": "https://labuladong.online/algo/data-structure/prim/", "1584": "https://labuladong.online/algo/data-structure/prim/", "261": "https://labuladong.online/algo/data-structure/kruskal/", "1514": "https://labuladong.online/algo/data-structure/dijkstra/", "1631": "https://labuladong.online/algo/data-structure/dijkstra/", "743": "https://labuladong.online/algo/data-structure/dijkstra/", "300": "https://labuladong.online/algo/dynamic-programming/longest-increasing-subsequence/", "354": "https://labuladong.online/algo/dynamic-programming/longest-increasing-subsequence/", "931": "https://labuladong.online/algo/dynamic-programming/memo-fundamental/", "115": "https://labuladong.online/algo/dynamic-programming/two-views-of-dp/", "剑指OfferII097": "https://labuladong.online/algo/dynamic-programming/two-views-of-dp/", "139": "https://labuladong.online/algo/dynamic-programming/word-break/", "140": "https://labuladong.online/algo/dynamic-programming/word-break/", "72": "https://labuladong.online/algo/dynamic-programming/edit-distance/", "53": "https://labuladong.online/algo/dynamic-programming/maximum-subarray/", "剑指Offer42": "https://labuladong.online/algo/dynamic-programming/maximum-subarray/", "1143": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "583": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "712": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "剑指OfferII095": "https://labuladong.online/algo/dynamic-programming/longest-common-subsequence/", "1312": "https://labuladong.online/algo/dynamic-programming/subsequence-problem/", "516": "https://labuladong.online/algo/dynamic-programming/subsequence-problem/", "416": "https://labuladong.online/algo/dynamic-programming/knapsack2/", "剑指OfferII101": "https://labuladong.online/algo/dynamic-programming/knapsack2/", "518": "https://labuladong.online/algo/dynamic-programming/knapsack3/", "494": "https://labuladong.online/algo/dynamic-programming/target-sum/", "剑指OfferII102": "https://labuladong.online/algo/dynamic-programming/target-sum/", "64": "https://labuladong.online/algo/dynamic-programming/minimum-path-sum/", "剑指OfferII099": "https://labuladong.online/algo/dynamic-programming/minimum-path-sum/", "174": "https://labuladong.online/algo/dynamic-programming/magic-tower/", "514": "https://labuladong.online/algo/dynamic-programming/freedom-trail/", "787": "https://labuladong.online/algo/dynamic-programming/cheap-travel/", "10": "https://labuladong.online/algo/dynamic-programming/regular-expression-matching/", "剑指Offer19": "https://labuladong.online/algo/dynamic-programming/regular-expression-matching/", "887": "https://labuladong.online/algo/dynamic-programming/egg-drop/", "312": "https://labuladong.online/algo/dynamic-programming/burst-balloons/", "486": "https://labuladong.online/algo/dynamic-programming/game-theory/", "877": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "651": "https://labuladong.online/algo/dynamic-programming/four-keyboard/", "198": "https://labuladong.online/algo/dynamic-programming/house-robber/", "213": "https://labuladong.online/algo/dynamic-programming/house-robber/", "337": "https://labuladong.online/algo/dynamic-programming/house-robber/", "剑指OfferII089": "https://labuladong.online/algo/dynamic-programming/house-robber/", "剑指OfferII090": "https://labuladong.online/algo/dynamic-programming/house-robber/", "121": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "122": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "123": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "188": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "309": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "714": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "剑指Offer63": "https://labuladong.online/algo/dynamic-programming/stock-problem-summary/", "134": "https://labuladong.online/algo/frequency-interview/gas-station-greedy/", "435": "https://labuladong.online/algo/frequency-interview/interval-scheduling/", "452": "https://labuladong.online/algo/frequency-interview/interval-scheduling/", "253": "https://labuladong.online/algo/frequency-interview/scan-line-technique/", "1024": "https://labuladong.online/algo/frequency-interview/cut-video/", "45": "https://labuladong.online/algo/frequency-interview/jump-game-summary/", "55": "https://labuladong.online/algo/frequency-interview/jump-game-summary/", "1020": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "1254": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "1905": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "200": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "694": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "695": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "剑指OfferII105": "https://labuladong.online/algo/frequency-interview/island-dfs-summary/", "37": "https://labuladong.online/algo/practice-in-action/sudoku/", "22": "https://labuladong.online/algo/practice-in-action/generate-parentheses/", "剑指OfferII085": "https://labuladong.online/algo/practice-in-action/generate-parentheses/", "698": "https://labuladong.online/algo/practice-in-action/partition-to-k-equal-sum-subsets/", "773": "https://labuladong.online/algo/practice-in-action/sliding-puzzle/", "292": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "319": "https://labuladong.online/algo/frequency-interview/one-line-solutions/", "136": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "191": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "231": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "268": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "剑指Offer15": "https://labuladong.online/algo/frequency-interview/bitwise-operation/", "382": "https://labuladong.online/algo/frequency-interview/random-algorithm/", "384": "https://labuladong.online/algo/practice-in-action/shuffle-algorithm/", "398": "https://labuladong.online/algo/frequency-interview/random-algorithm/", "172": "https://labuladong.online/algo/frequency-interview/factorial-problems/", "793": "https://labuladong.online/algo/frequency-interview/factorial-problems/", "204": "https://labuladong.online/algo/frequency-interview/print-prime-number/", "372": "https://labuladong.online/algo/frequency-interview/quick-power/", "645": "https://labuladong.online/algo/frequency-interview/mismatch-set/", "1201": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "263": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "264": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "313": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "剑指Offer49": "https://labuladong.online/algo/frequency-interview/ugly-number-summary/", "241": "https://labuladong.online/algo/practice-in-action/divide-and-conquer/", "1288": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "56": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "986": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "剑指OfferII074": "https://labuladong.online/algo/practice-in-action/interval-problem-summary/", "659": "https://labuladong.online/algo/practice-in-action/split-array-into-consecutive-subsequences/", "969": "https://labuladong.online/algo/frequency-interview/pancake-sorting/", "43": "https://labuladong.online/algo/practice-in-action/multiply-strings/", "224": "https://labuladong.online/algo/data-structure/implement-calculator/", "227": "https://labuladong.online/algo/data-structure/implement-calculator/", "772": "https://labuladong.online/algo/data-structure/implement-calculator/", "11": "https://labuladong.online/algo/frequency-interview/trapping-rain-water/", "42": "https://labuladong.online/algo/frequency-interview/trapping-rain-water/", "1541": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "20": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "921": "https://labuladong.online/algo/frequency-interview/bracket-problems-summary/", "391": "https://labuladong.online/algo/frequency-interview/perfect-rectangle/", "733": "https://labuladong.online/algo/", "392": "https://labuladong.online/algo/frequency-interview/binary-search-subsequence/", "792": "https://labuladong.online/algo/frequency-interview/binary-search-subsequence/", "855": "https://labuladong.online/algo/frequency-interview/exam-room/", "895": "https://labuladong.online/algo/frequency-interview/max-stack/", "1373": "https://labuladong.online/algo/data-structure/postorder-traversal/"};

   function getQueryVariable(variable) {
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i = 0; i < vars.length; i++) {
           var pair = vars[i].split("=");
           if (pair[0] === variable) {
               return pair[1];
           }
       }
       return false;
   }

   var qno = getQueryVariable("qno")
   qno = decodeURI(qno)
   var homeUrl = "https://labuladong.online/algo/"
   var targetUrl = pno_to_url[qno] || homeUrl
   window.location.replace(targetUrl)
</script>
</body>
</html>
